"""
1.RDD输出到文件的方法
    rdd.saveAsTextFile(路径)
    输出的结果是一个文件夹
    有几个分区就输出多少个结果文件

2.如何修改RDD分区
    SparkConf对象设置conf.set("spark.default.parallelism", "1")
    创建RDD的时候，sc.parallelize方法传入numSlices参数为1

"""

from pyspark import SparkConf, SparkContext
import os
import json
os.environ['PYSPARK_PYTHON'] = "F:/Python/python3.7.7/python.exe"
os.environ['HADOOP_HOME'] = "F:/Python/hadoop-3.0.0"
conf = SparkConf().setMaster("local[*]").setAppName("test_spark")
# conf.set("spark.default.parallelism", 1)
sc = SparkContext(conf=conf)

# 准备RDD1
rdd1 = sc.parallelize([1, 2, 3, 4, 5], numSlices=1)

# 准备RDD2
rdd2 = sc.parallelize([("Hello", 3), ("Spark", 5), ("Hi", 7)], 1)

# 准备RDD3
rdd3 = sc.parallelize([[1, 3, 5], [6, 7, 9], [11, 13, 11]], 1)

# 输出到文件中
rdd1.saveAsTextFile("data/output/output1")
rdd2.saveAsTextFile("data/output/output2")
rdd3.saveAsTextFile("data/output/output3")
